package demo.request;

import demo.response.TestcaseVO;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@Data
public class ProblemRequest {

    private Integer id;

    private String name;

    private String content;

    private String htmlContent;

    private String inputDesc;

    private String outputDesc;

    private String testcaseInput;

    private String testcaseOutput;

    private Integer level;

    private Long time;

    private Long memory;

    private Integer flag;

    private String tags;

    private List<TestcaseVO> testcaseList;

    private boolean settingUpdated = false;

    private String code;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getHtmlContent() {
        return htmlContent;
    }

    public void setHtmlContent(String htmlContent) {
        this.htmlContent = htmlContent;
    }

    public String getInputDesc() {
        return inputDesc;
    }

    public void setInputDesc(String inputDesc) {
        this.inputDesc = inputDesc;
    }

    public String getOutputDesc() {
        return outputDesc;
    }

    public void setOutputDesc(String outputDesc) {
        this.outputDesc = outputDesc;
    }

    public String getTestcaseInput() {
        return testcaseInput;
    }

    public void setTestcaseInput(String testcaseInput) {
        this.testcaseInput = testcaseInput;
    }

    public String getTestcaseOutput() {
        return testcaseOutput;
    }

    public void setTestcaseOutput(String testcaseOutput) {
        this.testcaseOutput = testcaseOutput;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Long getTime() {
        return time;
    }

    public void setTime(Long time) {
        this.time = time;
    }

    public Long getMemory() {
        return memory;
    }

    public void setMemory(Long memory) {
        this.memory = memory;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public List<TestcaseVO> getTestcaseList() {
        return testcaseList;
    }

    public void setTestcaseList(List<TestcaseVO> testcaseList) {
        this.testcaseList = testcaseList;
    }

    public boolean isSettingUpdated() {
        return settingUpdated;
    }

    public void setSettingUpdated(boolean settingUpdated) {
        this.settingUpdated = settingUpdated;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return "ProblemRequest{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", content='" + content + '\'' +
                ", htmlContent='" + htmlContent + '\'' +
                ", inputDesc='" + inputDesc + '\'' +
                ", outputDesc='" + outputDesc + '\'' +
                ", testcaseInput='" + testcaseInput + '\'' +
                ", testcaseOutput='" + testcaseOutput + '\'' +
                ", level=" + level +
                ", time=" + time +
                ", memory=" + memory +
                ", flag=" + flag +
                ", tags='" + tags + '\'' +
                ", testcaseList=" + testcaseList +
                ", settingUpdated=" + settingUpdated +
                ", code='" + code + '\'' +
                '}';
    }
}
